/*
 * 文件名： PayOrderReqMsg.java
 * 
 * 工程名称: common-domain
 *
 * Gopay
 *
 * 创建日期： 2017年8月11日
 *
 * Copyright(C) 2017, by www.gopay.com.cn Inc.All rights reserved.
 *
 * 原始作者: 宣广海
 *
 */
package com.gopay.common.domain.bank.pab.agpay.req;

import java.io.Serializable;
import java.math.BigDecimal;

import com.alibaba.fastjson.annotation.JSONField;

/**
 * 微信、支付宝预下单平安银行报文对象
 *
 * @author 宣广海
 *
 * @version 
 *
 * @since 2017年8月11日
 */
public class PayOrderMsg implements Serializable{

	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = 670503310257602365L;
	/**
	 * 开发者流水号，确认同一门店内唯一
	 */
	private String out_no;
	/**
	 * 付款方式编号测试环境：WeixinBERL,AlipayCS
		生产环境：Weixin,AlipayPAZH
	 */
	private String pmt_tag;
	/**
	 * 商户自定义付款方式名称
	 */
	private String pmt_name;
	/**
	 * 订单名称（描述）
	 */
	private String ord_name;
	/**
	 * 原始交易金额（以分为单位，没有小数点）
	 */
	private BigDecimal original_amount;
	/**
	 * 折扣金额（以分为单位，没有小数点）
	 */
	private BigDecimal discount_amount;
	/**
	 * 抹零金额（以分为单位，没有小数点）
	 */
	private BigDecimal ignore_amount;
	/**
	 * 实际交易金额（以分为单位，没有小数点）
	 */
	private BigDecimal trade_amount;
	/**
	 * 交易帐号（收单机构交易的银行卡号，手机号等，可为空）
	 */
	private String trade_account;
	/**
	 * 交易号（收单机构交易号，可为空）
	 */
	private String trade_no;
	//private String trade_result;
	/**
	 * 订单备注
	 */
	private String remark;
	/**
	 * 订单标记，订单附加数据
	 */
	private String tag;	
	/**
	 * 异步通知地址
	 */
	private String notify_url;
	/**
	 * 条码支付的授权码（条码抢扫手机扫到的一串数字）
	 */
	private String auth_code;
	/**
	 * 公众号/服务窗支付必填参数，支付结果跳转地址
	 */
	private String jump_url;
	private String sub_appid;
	private String sub_openid;
	private String buyer_id;
	@JSONField(name="JSAPI")
	private String jsapi;
	/**
	 * 微信APP支付时必填参数，商户在微信开放平台上申请的APPID
	 */
	private String wx_appid;
	/**
	 * 微信高级功能参数：商品标记，代金券或立减优惠功能的参数
	 */
	private String goods_tag;
	/**
	 * limit_pay=no_credit，限制用户不能使用信用卡支付
	 */
	private String limit_pay;
	/**
	 * 支付宝高级参数;订单包含的商品列表信息，Json格式，
	 */
	private String goods_detail;
	/**
	 * 业务扩展参数，详见支付宝商品明细说明
	 */
	private String extend_params;
	private String trade_type;
	public String getOut_no() {
		return out_no;
	}
	public void setOut_no(String out_no) {
		this.out_no = out_no;
	}
	public String getPmt_tag() {
		return pmt_tag;
	}
	public void setPmt_tag(String pmt_tag) {
		this.pmt_tag = pmt_tag;
	}
	public String getPmt_name() {
		return pmt_name;
	}
	public void setPmt_name(String pmt_name) {
		this.pmt_name = pmt_name;
	}
	public String getOrd_name() {
		return ord_name;
	}
	public void setOrd_name(String ord_name) {
		this.ord_name = ord_name;
	}
	
	public String getTrade_account() {
		return trade_account;
	}
	public void setTrade_account(String trade_account) {
		this.trade_account = trade_account;
	}
	public String getTrade_no() {
		return trade_no;
	}
	public void setTrade_no(String trade_no) {
		this.trade_no = trade_no;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public String getTag() {
		return tag;
	}
	public void setTag(String tag) {
		this.tag = tag;
	}
	public String getNotify_url() {
		return notify_url;
	}
	public void setNotify_url(String notify_url) {
		this.notify_url = notify_url;
	}
	public String getAuth_code() {
		return auth_code;
	}
	public void setAuth_code(String auth_code) {
		this.auth_code = auth_code;
	}
	public String getJump_url() {
		return jump_url;
	}
	public void setJump_url(String jump_url) {
		this.jump_url = jump_url;
	}
	public String getWx_appid() {
		return wx_appid;
	}
	public void setWx_appid(String wx_appid) {
		this.wx_appid = wx_appid;
	}
	public String getGoods_tag() {
		return goods_tag;
	}
	public void setGoods_tag(String goods_tag) {
		this.goods_tag = goods_tag;
	}
	public String getLimit_pay() {
		return limit_pay;
	}
	public void setLimit_pay(String limit_pay) {
		this.limit_pay = limit_pay;
	}
	public String getGoods_detail() {
		return goods_detail;
	}
	public void setGoods_detail(String goods_detail) {
		this.goods_detail = goods_detail;
	}
	public String getExtend_params() {
		return extend_params;
	}
	public void setExtend_params(String extend_params) {
		this.extend_params = extend_params;
	}
	public BigDecimal getOriginal_amount() {
		return original_amount;
	}
	public void setOriginal_amount(BigDecimal original_amount) {
		this.original_amount = original_amount;
	}
	public BigDecimal getDiscount_amount() {
		return discount_amount;
	}
	public void setDiscount_amount(BigDecimal discount_amount) {
		this.discount_amount = discount_amount;
	}
	public BigDecimal getIgnore_amount() {
		return ignore_amount;
	}
	public void setIgnore_amount(BigDecimal ignore_amount) {
		this.ignore_amount = ignore_amount;
	}
	public BigDecimal getTrade_amount() {
		return trade_amount;
	}
	public void setTrade_amount(BigDecimal trade_amount) {
		this.trade_amount = trade_amount;
	}
	public String getSub_appid() {
		return sub_appid;
	}
	public void setSub_appid(String sub_appid) {
		this.sub_appid = sub_appid;
	}
	public String getSub_openid() {
		return sub_openid;
	}
	public void setSub_openid(String sub_openid) {
		this.sub_openid = sub_openid;
	}
	public String getJsapi() {
		return jsapi;
	}
	public void setJsapi(String jsapi) {
		this.jsapi = jsapi;
	}
	public String getTrade_type() {
		return trade_type;
	}
	public void setTrade_type(String trade_type) {
		this.trade_type = trade_type;
	}
	public String getBuyer_id() {
		return buyer_id;
	}
	public void setBuyer_id(String buyer_id) {
		this.buyer_id = buyer_id;
	}
}
